home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / include / linux / cgroupstats.h < prev    next >
C/C++ Source or Header  |  2009-10-16  |  2KB  |  72 lines

  1. /* cgroupstats.h - exporting per-cgroup statistics
  2.  *
  3.  * Copyright IBM Corporation, 2007
  4.  * Author Balbir Singh <balbir@linux.vnet.ibm.com>
  5.  *
  6.  * This program is free software; you can redistribute it and/or modify it
  7.  * under the terms of version 2.1 of the GNU Lesser General Public License
  8.  * as published by the Free Software Foundation.
  9.  *
  10.  * This program is distributed in the hope that it would be useful, but
  11.  * WITHOUT ANY WARRANTY; without even the implied warranty of
  12.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  13.  */
  14.  
  15. #ifndef _LINUX_CGROUPSTATS_H
  16. #define _LINUX_CGROUPSTATS_H
  17.  
  18. #include <linux/types.h>
  19. #include <linux/taskstats.h>
  20.  
  21. /*
  22.  * Data shared between user space and kernel space on a per cgroup
  23.  * basis. This data is shared using taskstats.
  24.  *
  25.  * Most of these states are derived by looking at the task->state value
  26.  * For the nr_io_wait state, a flag in the delay accounting structure
  27.  * indicates that the task is waiting on IO
  28.  *
  29.  * Each member is aligned to a 8 byte boundary.
  30.  */
  31. struct cgroupstats {
  32.     __u64    nr_sleeping;        /* Number of tasks sleeping */
  33.     __u64    nr_running;        /* Number of tasks running */
  34.     __u64    nr_stopped;        /* Number of tasks in stopped state */
  35.     __u64    nr_uninterruptible;    /* Number of tasks in uninterruptible */
  36.                     /* state */
  37.     __u64    nr_io_wait;        /* Number of tasks waiting on IO */
  38. };
  39.  
  40. /*
  41.  * Commands sent from userspace
  42.  * Not versioned. New commands should only be inserted at the enum's end
  43.  * prior to __CGROUPSTATS_CMD_MAX
  44.  */
  45.  
  46. enum {
  47.     CGROUPSTATS_CMD_UNSPEC = __TASKSTATS_CMD_MAX,    /* Reserved */
  48.     CGROUPSTATS_CMD_GET,        /* user->kernel request/get-response */
  49.     CGROUPSTATS_CMD_NEW,        /* kernel->user event */
  50.     __CGROUPSTATS_CMD_MAX,
  51. };
  52.  
  53. #define CGROUPSTATS_CMD_MAX (__CGROUPSTATS_CMD_MAX - 1)
  54.  
  55. enum {
  56.     CGROUPSTATS_TYPE_UNSPEC = 0,    /* Reserved */
  57.     CGROUPSTATS_TYPE_CGROUP_STATS,    /* contains name + stats */
  58.     __CGROUPSTATS_TYPE_MAX,
  59. };
  60.  
  61. #define CGROUPSTATS_TYPE_MAX (__CGROUPSTATS_TYPE_MAX - 1)
  62.  
  63. enum {
  64.     CGROUPSTATS_CMD_ATTR_UNSPEC = 0,
  65.     CGROUPSTATS_CMD_ATTR_FD,
  66.     __CGROUPSTATS_CMD_ATTR_MAX,
  67. };
  68.  
  69. #define CGROUPSTATS_CMD_ATTR_MAX (__CGROUPSTATS_CMD_ATTR_MAX - 1)
  70.  
  71. #endif /* _LINUX_CGROUPSTATS_H */
  72.